In this notebook we’ll be looking at the gene-level count data from the RNA-seq. We’ll perform DGE tests for each bioproject separately, look at combining DGE related results using p-value metaanalysis, and look at normalising counts for downstream co-expression analysis.

The first think is to load the data and see what we’re dealing with.

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ruv)
library(DESeq2) # bioconductor
## Loading required package: S4Vectors
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## 
## The following objects are masked from 'package:lubridate':
## 
##     intersect, setdiff, union
## 
## The following objects are masked from 'package:dplyr':
## 
##     combine, intersect, setdiff, union
## 
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## 
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,
##     table, tapply, union, unique, unsplit, which.max, which.min
## 
## 
## Attaching package: 'S4Vectors'
## 
## The following objects are masked from 'package:lubridate':
## 
##     second, second<-
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, rename
## 
## The following object is masked from 'package:tidyr':
## 
##     expand
## 
## The following object is masked from 'package:utils':
## 
##     findMatches
## 
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## 
## Loading required package: IRanges
## 
## Attaching package: 'IRanges'
## 
## The following object is masked from 'package:lubridate':
## 
##     %within%
## 
## The following objects are masked from 'package:dplyr':
## 
##     collapse, desc, slice
## 
## The following object is masked from 'package:purrr':
## 
##     reduce
## 
## Loading required package: GenomicRanges
## Loading required package: GenomeInfoDb
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'matrixStats'
## 
## The following object is masked from 'package:dplyr':
## 
##     count
## 
## 
## Attaching package: 'MatrixGenerics'
## 
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## 
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## 
## Attaching package: 'Biobase'
## 
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## 
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
library(vsn) # bioconductor
library(edgeR) # bioconductor
## Loading required package: limma
## 
## Attaching package: 'limma'
## 
## The following object is masked from 'package:DESeq2':
## 
##     plotMA
## 
## The following object is masked from 'package:BiocGenerics':
## 
##     plotMA
library(ggplot2)
library(ggrepel)
library(ggExtra)
library(scales)
## 
## Attaching package: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor
library(HTSFilter)
library(sva)
## Loading required package: mgcv
## Loading required package: nlme
## 
## Attaching package: 'nlme'
## 
## The following object is masked from 'package:IRanges':
## 
##     collapse
## 
## The following object is masked from 'package:dplyr':
## 
##     collapse
## 
## This is mgcv 1.8-42. For overview type 'help("mgcv-package")'.
## Loading required package: genefilter
## 
## Attaching package: 'genefilter'
## 
## The following objects are masked from 'package:MatrixGenerics':
## 
##     rowSds, rowVars
## 
## The following objects are masked from 'package:matrixStats':
## 
##     rowSds, rowVars
## 
## The following object is masked from 'package:readr':
## 
##     spec
## 
## Loading required package: BiocParallel
library(ComplexHeatmap) # bioconductor
## Loading required package: grid
## ========================================
## ComplexHeatmap version 2.16.0
## Bioconductor page: http://bioconductor.org/packages/ComplexHeatmap/
## Github page: https://github.com/jokergoo/ComplexHeatmap
## Documentation: http://jokergoo.github.io/ComplexHeatmap-reference
## 
## If you use it in published research, please cite either one:
## - Gu, Z. Complex Heatmap Visualization. iMeta 2022.
## - Gu, Z. Complex heatmaps reveal patterns and correlations in multidimensional 
##     genomic data. Bioinformatics 2016.
## 
## 
## The new InteractiveComplexHeatmap package can directly export static 
## complex heatmaps into an interactive Shiny app with zero effort. Have a try!
## 
## This message can be suppressed by:
##   suppressPackageStartupMessages(library(ComplexHeatmap))
## ========================================
## 
## 
## Attaching package: 'ComplexHeatmap'
## 
## The following object is masked from 'package:genefilter':
## 
##     dist2
ggplot2::theme_set(ggplot2::theme_bw() +
  ggplot2::theme(
    strip.background = element_rect(
     color="black", fill="white", linewidth=0, linetype="solid"
    ),
    rect = element_rect(
      colour = "black",
      linewidth = 1,
      linetype = "solid"
    )
  )
)

okabe <- c('#000000', '#E69F00', '#56B4E9', '#009E73', '#F0E042', '#0072B2', '#D55E00', '#CC79A7', '#999999')
options(ggplot2.discrete.fill = list(okabe[seq(2, 9, 2)], okabe[2:8], okabe, rep(okabe, 10)))
options(ggplot2.discrete.colour = list(okabe[seq(2, 9, 2)], okabe[2:8], okabe, rep(okabe, 10)))

gg_shape <- function(gg, vals) {gg + scale_shape_manual(values = rep(c(15, 17:20), 100))}
counts_raw <- readr::read_delim("output/feature_counts.tsv", delim = "\t") %>%
  mutate(Geneid = str_remove(Geneid, "gene-"))
## Rows: 11130 Columns: 431
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr   (5): Geneid, Chr, Start, End, Strand
## dbl (426): Length, SRR10189427, SRR10189429, SRR10189431, SRR10189435, SRR10...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(counts_raw)
## # A tibble: 6 × 431
##   Geneid     Chr   Start End   Strand Length SRR10189427 SRR10189429 SRR10189431
##   <chr>      <chr> <chr> <chr> <chr>   <dbl>       <dbl>       <dbl>       <dbl>
## 1 sscle_01g… chr01 416   1399  -         984         635         666         561
## 2 sscle_01g… chr0… 1997… 2294… +;+;+     912         557         551         670
## 3 sscle_01g… chr0… 3349… 3902… -;-       729         225         189         226
## 4 sscle_01g… chr0… 4747… 5128… +;+      1410         762         841         856
## 5 sscle_01g… chr0… 7185… 7735… -;-;-    2091         351         705         567
## 6 sscle_01g… chr01 13600 15537 +        1938         599         654         767
## # ℹ 422 more variables: SRR10189435 <dbl>, SRR10189436 <dbl>,
## #   SRR10189437 <dbl>, SRR10189441 <dbl>, SRR10189442 <dbl>, SRR10189443 <dbl>,
## #   SRR10189447 <dbl>, SRR10189448 <dbl>, SRR10189449 <dbl>, SRR10277943 <dbl>,
## #   SRR10277944 <dbl>, SRR10277945 <dbl>, SRR10277946 <dbl>, SRR10277947 <dbl>,
## #   SRR10277948 <dbl>, SRR10277949 <dbl>, SRR10277950 <dbl>, SRR10277951 <dbl>,
## #   SRR10277952 <dbl>, SRR10277953 <dbl>, SRR10277954 <dbl>, SRR10277955 <dbl>,
## #   SRR10277956 <dbl>, SRR10277957 <dbl>, SRR10277958 <dbl>, …
counts <- counts_raw %>%
  mutate(id=Geneid) %>%
  select(-Chr, -Start, -End, -Strand, -Length, -Geneid)

# There must be a more elegant way to do this...
counts <- counts[, c("id", colnames(counts)[colnames(counts) != "id"])]
head(counts)
## # A tibble: 6 × 426
##   id     SRR10189427 SRR10189429 SRR10189431 SRR10189435 SRR10189436 SRR10189437
##   <chr>        <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>
## 1 sscle…         635         666         561         426         263         373
## 2 sscle…         557         551         670         478         362         454
## 3 sscle…         225         189         226         134         140         181
## 4 sscle…         762         841         856         487         458         524
## 5 sscle…         351         705         567        5183        7189        9574
## 6 sscle…         599         654         767         872        1501         901
## # ℹ 419 more variables: SRR10189441 <dbl>, SRR10189442 <dbl>,
## #   SRR10189443 <dbl>, SRR10189447 <dbl>, SRR10189448 <dbl>, SRR10189449 <dbl>,
## #   SRR10277943 <dbl>, SRR10277944 <dbl>, SRR10277945 <dbl>, SRR10277946 <dbl>,
## #   SRR10277947 <dbl>, SRR10277948 <dbl>, SRR10277949 <dbl>, SRR10277950 <dbl>,
## #   SRR10277951 <dbl>, SRR10277952 <dbl>, SRR10277953 <dbl>, SRR10277954 <dbl>,
## #   SRR10277955 <dbl>, SRR10277956 <dbl>, SRR10277957 <dbl>, SRR10277958 <dbl>,
## #   SRR10277959 <dbl>, SRR10277960 <dbl>, SRR10590602 <dbl>, …
meta <- readr::read_delim("input/sra_rnaseq2.tsv", delim = "\t", na = "-") %>%
  mutate(
    host_ = paste0(host_tidyname, host_accession_tidyname),
    organism_ = paste0(organism_tidyname, accession_tidyname),
  ) %>%
  filter(organism != "Sclerotinia trifoliorum")
## Rows: 621 Columns: 30
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (23): sra, bioproject, biosample, DOI, platform, strategy, stranded, inc...
## dbl  (7): read_length, n_fragments, n_fragments_filtered, n_fragments_aligne...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(meta)
## # A tibble: 6 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582088 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582089 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582090 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582091 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582133 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582134 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …

OK. The data is in, let’s look at the counts.

ggplot(meta, aes(x=sra, y=n_fragments_aligned, fill=included)) +
  geom_bar(stat="identity") +
  facet_wrap(vars(bioproject), scales="free")
## Warning: Removed 5 rows containing missing values (`position_stack()`).

So you should see that there are several bioprojects that I’ve excluded on the basis of multimapping reads, generally low read coverage, etc. The samples labelled “network only” are excluded from DGE because they are unreplicated. However they may be of interest to identify co-expressed genes.

You should also see that we have a pretty wide range of coverage. Typically the most dramatic differences are between samples in planta and in vitro.

Sometimes a biological treatment will be split across multiple sequencing runs. I’ll check for this now.

multi_biosample <- meta %>% group_by(biosample) %>% summarise(n = n_distinct(sra)) %>% filter(n > 1) %>% .[["biosample"]]

for (m in multi_biosample) {
  print(meta[meta$biosample == m, ])
}
## # A tibble: 6 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582088 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582089 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582090 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582091 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582133 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582134 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582140 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582148 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582200 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582201 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582461 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582462 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582469 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582470 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582471 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582472 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582473 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582474 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR8306347 PRJNA379694 SAMN06618… http… ILLUMINA         100 SE       R       
## 2 SRR8306348 PRJNA379694 SAMN06618… http… ILLUMINA         100 SE       R       
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR8305679 PRJNA379694 SAMN10587… http… ILLUMINA         100 SE       R       
## 2 SRR8305680 PRJNA379694 SAMN10587… http… ILLUMINA         100 SE       R       
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 12 × 32
##    sra        bioproject  biosample DOI   platform read_length strategy stranded
##    <chr>      <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
##  1 SRR9200308 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  2 SRR9200309 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  3 SRR9200310 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  4 SRR9200311 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  5 SRR9200312 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  6 SRR9200313 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  7 SRR9200314 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  8 SRR9200315 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
##  9 SRR9200316 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
## 10 SRR9200317 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
## 11 SRR9200318 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
## 12 SRR9200319 PRJNA546228 SAMN1193… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 12 × 32
##    sra         bioproject biosample DOI   platform read_length strategy stranded
##    <chr>       <chr>      <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
##  1 SRR10590602 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  2 SRR10590603 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  3 SRR10590604 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  4 SRR10590605 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  5 SRR10590606 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  6 SRR10590607 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  7 SRR10590608 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  8 SRR10590609 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
##  9 SRR10590610 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
## 10 SRR10590611 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
## 11 SRR10590612 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
## 12 SRR10590613 PRJNA5937… SAMN1348… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR12072338 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 2 SRR12072339 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 3 SRR12072340 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 4 SRR12072341 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 5 SRR12072344 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 6 SRR12072345 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR12072334 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 2 SRR12072335 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 3 SRR12072336 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 4 SRR12072337 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 5 SRR12072342 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## 6 SRR12072343 PRJNA641217 SAMN1534… <NA>  ILLUMINA         150 PE       FR      
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR12077446 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## 2 SRR12077447 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## 3 SRR12077448 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## 4 SRR12077449 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## 5 SRR12077450 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## 6 SRR12077451 PRJNA641462 SAMN1535… <NA>  ILLUMINA         150 PE       FR      
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 3 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR13570946 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## 2 SRR13570947 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## 3 SRR13570948 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 3 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR13570943 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## 2 SRR13570944 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## 3 SRR13570945 PRJNA695466 SAMN1761… http… ILLUMINA         150 PE       FR      
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 6 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR15058739 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## 2 SRR15058740 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## 3 SRR15058741 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## 4 SRR15058742 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## 5 SRR15058743 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## 6 SRR15058744 PRJNA744325 SAMN2008… http… ILLUMINA         150 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227239 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227240 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227241 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227242 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227243 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227244 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227245 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227246 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227247 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227248 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227249 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227250 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227257 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227258 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227259 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227260 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227261 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227262 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227263 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227264 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
## # A tibble: 2 × 32
##   sra         bioproject  biosample DOI   platform read_length strategy stranded
##   <chr>       <chr>       <chr>     <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR22227265 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## 2 SRR22227266 PRJNA899438 SAMN3165… <NA>  ILLUMINA         100 PE       unstran…
## # ℹ 24 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …

Ok. So these all seem to be treatment replicates. I’m not going to worry about combining any counts.

We’ll exclude any samples that we aren’t going to keep right now. And I want to convert the table to a long format which i can use to select subsets very easily.

meta <- meta[meta$included %in% c("TRUE", "NETWORK_ONLY"), ]

lcounts <- dplyr::inner_join(
  meta,
  tidyr::pivot_longer(counts, -id, names_to = "sra", values_to = "count"),
  by = "sra"
) %>% mutate(cpm = count / (n_fragments_aligned / 1000000)) %>%
  select(-platform, -read_length, -strategy, -stranded, -n_fragments, -n_fragments_filtered, -n_fragments_aligned, -n_fragments_aligned_single, -n_fragments_aligned_multi, -notes, -DOI, -biosample)

head(lcounts)
## # A tibble: 6 × 23
##   sra        bioproject  included sample    organism organism_tidyname accession
##   <chr>      <chr>       <chr>    <chr>     <chr>    <chr>             <chr>    
## 1 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 2 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 3 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 4 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 5 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 6 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## # ℹ 16 more variables: accession_tidyname <chr>, host <chr>,
## #   host_tidyname <chr>, host_accession <chr>, host_accession_tidyname <chr>,
## #   tissue <chr>, hpi <dbl>, plant_tissue <chr>, treatment <chr>,
## #   treatment_tidy <chr>, sample_material <chr>, host_ <chr>, organism_ <chr>,
## #   id <chr>, count <dbl>, cpm <dbl>

Let’s have a look at some PCA plots.

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = cpm) %>%
  column_to_rownames("id") %>%
  as.matrix()

pca_raw <- princomp(tmp, fix_sign = TRUE)

prop_var <- ((pca_raw$sdev[1:10] / sum(pca_raw$sdev[1:10])) * 100) %>%
  data.frame(variance_explained = .) %>%
  rownames_to_column("PC") %>%
  mutate(PC = paste0("PC", sprintf("%02d", 1:n())))

ggplot(prop_var, aes(x=PC, y=variance_explained)) + geom_bar(stat = "identity")

The first PC explains a fairly large amount of variance. I wasn’t expecting to get much reduction in this dataset.

pca <- as.data.frame(pca_raw$loadings[, 1:10])
colnames(pca) <- paste0("PC", sprintf("%02d", seq_len(ncol(pca))))
pca <- pca %>% rownames_to_column("sra")
pca <- right_join(meta, pca, by = "sra")
head(pca)
## # A tibble: 6 × 42
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582088 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582089 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582090 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582091 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582133 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582134 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 34 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
gg <- ggplot(pca, aes(x=PC01, y=PC02, color=host_tidyname, shape=host_tidyname, fill=host_tidyname)) +
  geom_point(alpha = 0.7, size = 3)

gg <- gg_shape(gg, pca$host_tidyname)
print(gg)

gg <- ggplot(pca, aes(x=PC03, y=PC04, color=host_tidyname, fill=host_tidyname, shape=host_tidyname)) +
  geom_point(alpha = 0.7, size = 3)

gg <- gg_shape(gg, pca$host_tidyname)
gg

Well, the first and second axes seem to be picking something up with B. napus samples, and maybe some unusual in-vitro samples. It looks like the B. napus samples are going to be dominating the data. Possibly just because there’s more of it.

gg <- ggplot(pca, aes(x=PC01, y=PC02, color=bioproject, fill=bioproject, shape=bioproject)) +
  geom_point(alpha = 0.7, size = 3)

gg <- gg_shape(gg, pca$bioproject)
print(gg)

gg <- ggplot(pca, aes(x=PC03, y=PC04, color=bioproject, fill=bioproject, shape=bioproject)) +
  geom_point(alpha = 0.7, size = 3)

gg <- gg_shape(gg, pca$bioproject)
print(gg)

It does seem that the little clusters are at least coming from the same bioprojects, which is encouraging. Maybe a heatmap would be nice to show how the different experiments are (dis)similar.

# Utility function from https://jokergoo.github.io/2020/05/11/set-cell-width/height-in-the-heatmap/
calc_ht_size = function(ht, unit = "inches") {
    pdf(NULL)
    ht = draw(ht)
    w = ComplexHeatmap:::width(ht)
    w = convertX(w, unit, valueOnly = TRUE)
    h = ComplexHeatmap:::height(ht)
    h = convertY(h, unit, valueOnly = TRUE)
    dev.off()

    c(w, h)
}

We’ll look at clustering the samples to see if natural groups fall out from a correlation matrix.

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = cpm) %>%
  column_to_rownames("id") %>%
  as.matrix()

tmp <- log(tmp + 1, base = 2)

tmp_cor <- cor(tmp)
tmp_dist <- as.dist(1 - tmp_cor)
hcl <- hclust(tmp_dist, method = "average")

srrs <- colnames(tmp)[hcl$order]
ha <- HeatmapAnnotation(
  bioproject = meta %>% column_to_rownames("sra") %>% .[srrs, "bioproject"],
  host = meta %>% column_to_rownames("sra") %>% .[srrs, "host"]
)

ht <- Heatmap(
  tmp_cor,
  name = "samples",
  cluster_rows = hcl,
  cluster_columns = hcl,
  show_column_dend = FALSE,
  show_column_names = FALSE,
  show_row_names = FALSE,
  top_annotation = ha,
  height=nrow(tmp_cor) * unit(0.5, "mm"),
  width=ncol(tmp_cor) * unit(0.5, "mm")
)

htsize <- calc_ht_size(ht)
htsize
## [1] 12.822730  8.906201
pdf("output/06-samples_correlation_clustered.pdf", width = htsize[1], height = htsize[2])
ht
dev.off()
## png 
##   2
draw(ht)

So you can see from the top-colour bar that the clusters are a mixture of bioprojects and hosts. Host tends to form larger blocks, but not all samples from the same host are positioned together.

Next we’ll look at an unclustered matrix, so samples from the same bioproject should occur together.

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = cpm) %>%
  column_to_rownames("id") %>%
  as.matrix()

tmp <- log(tmp + 1, base = 2)

tmp_cor <- cor(tmp)
#tmp_dist <- as.dist(1 - tmp_cor)
#hcl <- hclust(tmp_dist, method = "average")

#srrs <- colnames(tmp)[hcl$order]
ha <- HeatmapAnnotation(
  bioproject = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "bioproject"],
  host = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "host"]
)

ht <- Heatmap(
  tmp_cor,
  name = "samples",
  cluster_rows = FALSE,
  cluster_columns = FALSE,
  show_column_dend = FALSE,
  show_column_names = FALSE,
  show_row_names = FALSE,
  top_annotation = ha,
  height=nrow(tmp_cor) * unit(0.5, "mm"),
  width=ncol(tmp_cor) * unit(0.5, "mm")
)

htsize <- calc_ht_size(ht)
htsize
## [1] 12.409344  8.906201
pdf("output/06-samples_correlation_bioproject.pdf", width = htsize[1], height = htsize[2])
ht
dev.off()
## png 
##   2
draw(ht)

And finally we’ll look at host.

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = cpm) %>%
  column_to_rownames("id") %>%
  as.matrix()

tmp <- log(tmp + 1, base = 2)
meta_tmp <- meta[order(meta$host, meta$host_accession, meta$hpi, meta$tissue, meta$accession, meta$plant_tissue, meta$treatment),]
tmp <- tmp[, meta_tmp$sra[meta_tmp$sra %in% colnames(tmp)]]

tmp_cor <- cor(tmp)
#tmp_dist <- as.dist(1 - tmp_cor)
#hcl <- hclust(tmp_dist, method = "average")

#srrs <- colnames(tmp)[hcl$order]
ha <- HeatmapAnnotation(
  bioproject = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "bioproject"],
  host = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "host"]
)

ht <- Heatmap(
  tmp_cor,
  name = "samples",
  cluster_rows = FALSE,
  cluster_columns = FALSE,
  show_column_dend = FALSE,
  show_column_names = FALSE,
  show_row_names = FALSE,
  top_annotation = ha,
  height=nrow(tmp_cor) * unit(0.5, "mm"),
  width=ncol(tmp_cor) * unit(0.5, "mm")
)

htsize <- calc_ht_size(ht)
htsize
## [1] 12.409344  8.906201
pdf("output/06-samples_correlation_host.pdf", width = htsize[1], height = htsize[2])
ht
dev.off()
## png 
##   2
draw(ht)

There are a couple of good clusters there. It looks like the Lettuce (Lactuca sativa) samples are all well correlated. We’ll see i guess.

Differential gene expression

So i’m going to need to process each experiment separately. Which means some quick PCA, dispersion, and applying the contrasts. To save time i’ll try to automate as much as I can.

We’ll use DESeq2, which is my favourite as it handles genes with low counts better than EdgeR.

Here are the different bioprojects.

unique(meta$bioproject)
##  [1] "PRJNA261444" "PRJNA327437" "PRJNA341340" "PRJNA418121" "PRJNA471709"
##  [6] "PRJNA477716" "PRJNA501892" "PRJNA516496" "PRJNA574280" "PRJNA577619"
## [11] "PRJNA593737" "PRJNA601001" "PRJNA603456" "PRJNA607858" "PRJNA641217"
## [16] "PRJNA641462" "PRJNA643804" "PRJNA647983" "PRJNA670487" "PRJNA687280"
## [21] "PRJNA695466" "PRJNA706136" "PRJNA735329" "PRJNA744751" "PRJNA766564"
## [26] "PRJNA777355" "PRJNA789389" "PRJNA804213" "PRJNA830457" "PRJNA874732"
plotPCA2 <- function(dds, f1, f2) {
  pcaData <- plotPCA(
    dds,
    ntop = 1000,
    intgroup = c(f1, f2),
    returnData = TRUE
  )

  percentVar <- round(100 * attr(pcaData, "percentVar"))

  gg <- ggplot(pcaData, aes(x = PC1, y = PC2, color = .data[[f1]], shape = .data[[f2]])) +
    geom_point(size=3, alpha=0.75) +
    xlab(paste0("PC1: ", percentVar[1], "% variance")) +
    ylab(paste0("PC2: ", percentVar[2], "% variance"))
  
  gg <- gg_shape(gg, pcaData[[f2]])
  return(gg)
}

# Converts 0 to the smallest possible number before log calc
get_log <- function(vec){
  vec[vec == 0] <- .Machine$double.xmin
  vec <- -log10(vec)
}

reverselog_trans <- function(base = exp(1)) {
    trans <- function(x) -log(x, base)
    
    inv <- function(x) base^(-x)
    trans_new(paste0("reverselog-", format(base)), trans, inv, 
              log_breaks(base = base), 
              domain = c(1e-100, Inf))
}


plot_volcano <- function(df, title=NA, nlabels = 5, padj_threshold = 0.05) {
  df <- df[!is.na(df$padj), ]

  df_up <- df[(df$log2FoldChange > 0),]
  df_up <- df_up[order(df_up$padj),]

  df_up$label <- NA
  df_up$label[1:nlabels] <- rownames(df_up)[1:nlabels]

  df_down <- df[(df$log2FoldChange <= 0),]
  df_down <- df_down[order(df_down$padj),]
  df_down$label <- NA
  df_down$label[1:nlabels] <- rownames(df_down)[1:nlabels]

  df <- rbind(df_up, df_down)
  
  gg <- df %>%
    as.data.frame() %>%
    ggplot(aes(y=padj, x=log2FoldChange, colour=padj < padj_threshold, label = label)) +
    geom_text_repel(colour="black", box.padding=0.3, min.segment.length = 0, size=3) +
    geom_point(alpha=0.5) +
    scale_y_continuous(trans = reverselog_trans(10)) +
    ylab("adjusted p-value") +
    xlab(expression(paste(log[2] * " FC"))) +
    labs(colour=paste0("adj. p < ", padj_threshold)) +

  if ( !is.na(title) ) {
    gg <- gg + ggtitle(title)
  }  

  gg <- ggMarginal(gg, margins = "x", type="histogram", fill="lightgrey", xparams = list(bins = 100, linewidth = 0.25, fill = "black"), size=4)

  return(gg)
}


process_contrast_mat <- function(bpr, contrasts, this_meta) {
  colnames(contrasts) <- c("sample1", "sample2", "contrast_group")
  contrasts <- as.data.frame(contrasts)
  contrasts["contrast"] <- apply(contrasts, MARGIN = 1, FUN = function(x) {paste0(x["sample1"], "_vs_", x["sample2"])})
  contrasts["bioproject"] <- bpr
  contrasts <- dplyr::left_join(
    contrasts,
    this_meta %>% select(sample1 = sample, host1 = host_tidyname, hpi1 = hpi) %>% unique(),
    by="sample1"
  )
  
  contrasts <- dplyr::left_join(
    contrasts,
    this_meta %>% select(sample2 = sample, host2 = host_tidyname, hpi2 = hpi) %>% unique(),
    by="sample2"
  )
  
  contrasts <- contrasts[, c('contrast_group', 'bioproject', 'contrast', 'sample1', 'sample2', 'host1', 'hpi1', 'host2', 'hpi2')]
  return(contrasts)
}


run_deg_tests <- function(lcounts, contrasts, bpr, norm_only = FALSE, exclude = NULL) {
  this_counts <- lcounts %>% filter(bioproject == bpr)  %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = count) %>%
    column_to_rownames("id") %>%
    as.matrix()
  
  all(rownames(this_meta) == colnames(this_counts))
  this_meta_ <- this_meta %>% column_to_rownames("sra") %>% mutate(sample = factor(sample)) %>% .[colnames(this_counts), ]
  
  dds <- DESeqDataSetFromMatrix(
    countData = this_counts,
    colData = this_meta_,
    design = ~ sample
  )
  
  ncounts <- assay(rlog(dds, blind = FALSE))
  print(plotPCA(rlog(dds, blind = FALSE), intgroup = "sample"))
  
  if (norm_only) {
    return(list("norm_counts" = ncounts))
  }
  
  if (!is.null(exclude)) {
    this_counts <- lcounts %>% filter(bioproject == bpr) %>% filter(!sra %in% exclude) %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = count) %>%
      column_to_rownames("id") %>%
      as.matrix()
    
    all(rownames(this_meta) == colnames(this_counts))
    this_meta_ <- this_meta %>% column_to_rownames("sra") %>% mutate(sample = factor(sample)) %>% .[colnames(this_counts), ]
    
    dds <- DESeqDataSetFromMatrix(
      countData = this_counts,
      colData = this_meta_,
      design = ~ sample
    )
  }
  
  dds_results <- DESeq(dds, test = "Wald")
  filter <- HTSFilter(dds_results, plot = TRUE, s.len=100)$filteredData
  
  # Normally i prefer to run lfcThreshold=1, but the meta analysis methods require a uniform p-value
  # distribution, and thresholded tests yield a big peak around pvalue=1.
  tests <- apply(
    contrasts,
    MARGIN = 1,
    FUN = function(x) {results(dds_results, contrast = c("sample", x["sample1"], x["sample2"]), alpha = 0.01, lfcThreshold = 0, independentFiltering=FALSE)}
  )
  names(tests) <- contrasts$contrast
  
  gg <- do.call(
    rbind,
    lapply(names(tests), FUN=function(n) {data.frame(contrast=n, pvalue=tests[[n]]$pvalue)})
  ) %>%
    ggplot(aes(x=pvalue)) +
    geom_histogram() +
    facet_wrap(vars(contrast))

  print(gg)

  mapper <- function(t) {
    t2 <- as.data.frame(t) %>% summarise(
      up = sum((log2FoldChange > 0) & (padj < 0.05), na.rm = TRUE),
      down = sum((log2FoldChange < 0) & (padj < 0.05), na.rm = TRUE),
      zerocounts = sum(baseMean == 0, na.rm = TRUE),
      n = n()
    )
    return(t2)
  }
  
  # After HTSfilter these stats are no longer relevant
  #lowcount_threshold = t@metadata$filterThreshold,
  #lowcounts = sum(baseMean < t@metadata$filterThreshold, na.rm = TRUE),
  
  print(do.call(rbind, lapply(tests, mapper)))

  return(list("norm_counts" = ncounts, "tests" = tests))
}

run_count_norm <- function(lcounts, bpr) {
  this_counts <- lcounts %>% filter(bioproject == bpr)  %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = count) %>%
    column_to_rownames("id") %>%
    as.matrix()
  
  all(rownames(this_meta) == colnames(this_counts))
  this_meta_ <- this_meta %>% column_to_rownames("sra") %>% mutate(sample = factor(sample)) %>% .[colnames(this_counts), ]
  
  dds <- DESeqDataSetFromMatrix(
    countData = this_counts,
    colData = this_meta_,
    design = ~ 1
  )
  
  ncounts <- assay(rlog(dds, blind = TRUE))
  print(plotPCA(rlog(dds, blind = FALSE), intgroup = "sample"))
  
  return(list("norm_counts" = ncounts))
}
all_contrasts <- list()
norm_counts <- list()
deg_results <- list()

PRJNA261444

bpr <- "PRJNA261444"
this_meta <- meta %>% filter(bioproject == bpr)
# this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi", "PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi", "IPvsIV",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi", "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi", "MvsE",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi", "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi", "LvsE",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi", "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi", "LvsE",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi", "MvsERes",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi", "LvsERes",
  "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi", "LvsMRes",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi", "SuscvsRes",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi", "SuscvsRes",
  "PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi", "PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi", "SuscvsRes"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 4455 rows containing non-finite values (`stat_bin()`).

##                                                                                                                    up
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi        936
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi       1790
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi       2347
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi      773
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi     1550
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi     2317
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi      622
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi     1380
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi      521
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi  557
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi 1680
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi  851
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi      2
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi     75
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi      0
##                                                                                                                  down
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi        268
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi       1244
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi       2147
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi      223
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi     1230
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi     2214
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi      499
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi     1229
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi      329
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi  293
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi 1363
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi  574
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi      0
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi     14
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi      1
##                                                                                                                  zerocounts
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi              297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi              297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi              297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi            297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi        297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi        297
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi        297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi          297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi          297
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi          297
##                                                                                                                      n
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi       11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi       11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi       11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_12hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_24hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_periphery_IVPDA_stem_48hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi     11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi 11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi 11130
## PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi 11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_12hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_12hpi   11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_24hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_24hpi   11130
## PRJNA261444_SsclScl0205_lesion_PsatLifter_stem_48hpi_vs_PRJNA261444_SsclScl0205_lesion_PsatPI240515_stem_48hpi   11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA327437"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_colony_IVMMGlu", "IPvsIV",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi", "LvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi", "LvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi", "MvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi", "LvsE",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi", "LvsM",
  "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi", "PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi", "LvsM"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 15623 rows containing non-finite values (`stat_bin()`).

##                                                                                                            up
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 1630
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 1556
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 1256
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                1071
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                1946
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                2168
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  1423
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  2322
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  2445
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi   860
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  1918
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  2213
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi   302
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  1666
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  2171
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi 2063
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi 1575
##                                                                                                          down
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 1392
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 1228
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                  841
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 866
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                1362
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                1529
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  1490
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  2095
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  2057
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  1147
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  1913
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  2015
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi   625
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  1609
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  1892
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi 1680
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi 1451
##                                                                                                          zerocounts
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                        919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                        919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                        919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                       919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                       919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                       919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi         919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi        919
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi        919
##                                                                                                              n
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                 11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_colony_IVMMGlu                11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_1hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_3hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_6hpi  11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_12hpi 11130
## PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_48hpi_vs_PRJNA327437_Sscl1980_lesion_BnapDH12705_leaf_24hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA341340"
this_meta <- meta %>% filter(bioproject == bpr)
# this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA341340_Sscl1980_lesion_Slys", "PRJNA341340_Sscl1980_ball_IVPDB", "IPvsIV",
  "PRJNA341340_Sscl1980_lesion_Hann", "PRJNA341340_Sscl1980_ball_IVPDB", "IPvsIV",
  "PRJNA341340_Sscl1980_lesion_Atha", "PRJNA341340_Sscl1980_ball_IVPDB", "IPvsIV",
  "PRJNA341340_Sscl1980_lesion_Slys", "PRJNA341340_Sscl1980_lesion_Hann", "SlysvsHann",
  "PRJNA341340_Sscl1980_lesion_Slys", "PRJNA341340_Sscl1980_lesion_Atha", "SlysvsAtha",
  "PRJNA341340_Sscl1980_lesion_Hann", "PRJNA341340_Sscl1980_lesion_Slys", "HannvsSlys",
  "PRJNA341340_Sscl1980_lesion_Hann", "PRJNA341340_Sscl1980_lesion_Atha", "HannvsAtha",  
  "PRJNA341340_Sscl1980_lesion_Atha", "PRJNA341340_Sscl1980_lesion_Slys", "AthavsSlys",
  "PRJNA341340_Sscl1980_lesion_Atha", "PRJNA341340_Sscl1980_lesion_Hann", "AthavsHann",  
  "PRJNA341340_Sscl1980_sclerotia_IV", "PRJNA341340_Sscl1980_ball_IVPDB", "Sclerotial"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2940 rows containing non-finite values (`stat_bin()`).

##                                                                        up down
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_ball_IVPDB  2022 2448
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_ball_IVPDB  2402 2950
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_ball_IVPDB  1782 2347
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Hann  702  498
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Atha  160  303
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Slys  498  702
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Atha  834  890
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Slys  303  160
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Hann  890  834
## PRJNA341340_Sscl1980_sclerotia_IV_vs_PRJNA341340_Sscl1980_ball_IVPDB 2902 3229
##                                                                      zerocounts
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_ball_IVPDB         242
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_ball_IVPDB         242
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_ball_IVPDB         242
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Hann        242
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Atha        242
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Slys        242
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Atha        242
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Slys        242
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Hann        242
## PRJNA341340_Sscl1980_sclerotia_IV_vs_PRJNA341340_Sscl1980_ball_IVPDB        242
##                                                                          n
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_ball_IVPDB  11130
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_ball_IVPDB  11130
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_ball_IVPDB  11130
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Hann 11130
## PRJNA341340_Sscl1980_lesion_Slys_vs_PRJNA341340_Sscl1980_lesion_Atha 11130
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Slys 11130
## PRJNA341340_Sscl1980_lesion_Hann_vs_PRJNA341340_Sscl1980_lesion_Atha 11130
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Slys 11130
## PRJNA341340_Sscl1980_lesion_Atha_vs_PRJNA341340_Sscl1980_lesion_Hann 11130
## PRJNA341340_Sscl1980_sclerotia_IV_vs_PRJNA341340_Sscl1980_ball_IVPDB 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA418121"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi", "PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi", "AthavsSlys",
  "PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi", "PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi", "SlysvsAtha"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1390 rows containing non-finite values (`stat_bin()`).

##                                                                                                            up
## PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi 732
## PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi 649
##                                                                                                           down
## PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi  649
## PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi  732
##                                                                                                           zerocounts
## PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi        693
## PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi        693
##                                                                                                               n
## PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi 11130
## PRJNA418121_Sscl1980_periphery_SlysHeinz_leaf_50hpi_vs_PRJNA418121_Sscl1980_periphery_AthaCol0_leaf_50hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA471709"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi", "MvsERes",
  "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi", "LvsERes",
  "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi", "LvsMRes",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi", "MvsE",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi", "LvsE",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi", "LvsM",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi", "SuscvsResE",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi", "SuscvsRes",
  "PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi", "SuscvsRes"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 4491 rows containing non-finite values (`stat_bin()`).

##                                                                                                       up
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi 428
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi 908
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi 249
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi   352
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi   693
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi   126
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi    4
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi  268
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi  248
##                                                                                                      down
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi  305
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi  692
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi  160
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi    162
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi    541
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi    139
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi     4
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi   214
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi   289
##                                                                                                      zerocounts
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi        457
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi        457
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi        457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi          457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi          457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi          457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi         457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi         457
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi         457
##                                                                                                          n
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi 11130
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi 11130
## PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_48hpi 11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi   11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi   11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi   11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_24hpi  11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi  11130
## PRJNA471709_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA471709_Sscl1980_lesion_Gmax91145_stem_96hpi  11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA477716"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi", "PRJNA477716_Sscl1980_ball_IVPDB_96hpi", "IPvsIV",
  "PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi", "PRJNA477716_Sscl1980_ball_IVMM_96hpi", "IPvsIV",
  "PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi", "PRJNA477716_Sscl1980_periphery_IVPDA_48hpi", "IPvsIV",
  "PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi", "PRJNA477716_Sscl1980_center_IVPDA_48hpi", "IPvsIV"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 988 rows containing non-finite values (`stat_bin()`).

##                                                                                                 up
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVPDB_96hpi      2148
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVMM_96hpi       3211
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_periphery_IVPDA_48hpi 2328
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_center_IVPDA_48hpi    2105
##                                                                                               down
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVPDB_96hpi      2756
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVMM_96hpi       3199
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_periphery_IVPDA_48hpi 2112
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_center_IVPDA_48hpi    2216
##                                                                                               zerocounts
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVPDB_96hpi             189
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVMM_96hpi              189
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_periphery_IVPDA_48hpi        189
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_center_IVPDA_48hpi           189
##                                                                                                   n
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVPDB_96hpi      11130
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_ball_IVMM_96hpi       11130
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_periphery_IVPDA_48hpi 11130
## PRJNA477716_Sscl1980_center_AthaCol0_leaf_48hpi_vs_PRJNA477716_Sscl1980_center_IVPDA_48hpi    11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA501892"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_colony_IVPDA", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "IPvsIV",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "SuscvsResE",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "SuscvsRes",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "SuscvsRes",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "MvsE",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi", "LvsE",
  "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi", "LvsM",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "MvsERes",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi", "LvsERes",
  "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi", "PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi", "LvsMRes"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 7581 rows containing non-finite values (`stat_bin()`).

##                                                                                                         up
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 1828
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 1797
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 2195
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  1857
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  1749
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  2034
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi   451
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi   959
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi   289
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi     385
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi     752
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi     142
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi      1
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi      4
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi    341
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1    385
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1    752
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi1    142
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1  451
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1  959
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi1  289
##                                                                                                       down
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 1516
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 1323
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 1739
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  1584
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  1228
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  1726
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi   352
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi   744
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi   187
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi     192
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi     611
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi     162
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi      4
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi      4
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi    368
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1    192
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1    611
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi1    162
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1  352
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1  744
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi1  187
##                                                                                                       zerocounts
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                        328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                        328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                        328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                         328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                         328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                         328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi         328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi         328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi         328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi           328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi           328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi           328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi          328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi          328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi          328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1          328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1          328
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi1          328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1        328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1        328
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi1        328
##                                                                                                           n
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                 11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_colony_IVPDA                  11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi  11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi  11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi  11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi    11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi    11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi    11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi   11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi   11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi   11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1   11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_24hpi1   11130
## PRJNA501892_Sscl1980_lesion_Gmax9144_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax9144_stem_48hpi1   11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1 11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_24hpi1 11130
## PRJNA501892_Sscl1980_lesion_Gmax91145_stem_96hpi_vs_PRJNA501892_Sscl1980_lesion_Gmax91145_stem_48hpi1 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA516496"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi", "PRJNA516496_SsclCU824_ball_IVPDB", "IPvsIV",
  "PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi", "PRJNA516496_SsclCU824_ball_IVPDB", "IPvsIV",
  "PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi", "PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi", "LangvsBnap",
  "PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi", "PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi", "BnapvsLang"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1620 rows containing non-finite values (`stat_bin()`).

##                                                                                                             up
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                    1652
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                   1712
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi   62
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi  130
##                                                                                                           down
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                    1736
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                   1850
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi  130
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi   62
##                                                                                                           zerocounts
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                           213
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                          213
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi        213
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi        213
##                                                                                                               n
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                    11130
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_ball_IVPDB                   11130
## PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi 11130
## PRJNA516496_SsclCU824_lesion_BnapCobbler_stem_72hpi_vs_PRJNA516496_SsclCU824_lesion_LangTanjil_stem_72hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA574280"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "HannvsPvul",
  "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "BvulvulvsPvul",
  "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "RcomvsPvul",
  "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "PvulvsHann",
  "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "BvulvulvsHann",
  "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "RcomvsHann",
  "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "PvulvsBvulvul",
  "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "HannvsBvulvul",
  "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "RcomvsBvulvul",
  "PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi", "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "PvulvsRcom",
  "PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi", "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "HannvsRcom",
  "PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi", "PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi", "BvulvulvsRcom"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 6660 rows containing non-finite values (`stat_bin()`).

##                                                                                                             up
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi  780
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi  874
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi    1499
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi 1123
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi    2484
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi       2471
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi  573
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi    1900
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi       2015
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi    1609
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       2039
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       2290
##                                                                                                           down
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi 1123
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi  573
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi    1609
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi  780
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi    1900
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi       2039
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi  874
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi    2484
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi       2290
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi    1499
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       2471
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       2015
##                                                                                                           zerocounts
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi        507
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi        507
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi           507
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi        507
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi           507
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi              507
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi        507
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi           507
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi              507
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi           507
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi              507
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi              507
##                                                                                                               n
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi 11130
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi 11130
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi    11130
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi 11130
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi    11130
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi       11130
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi 11130
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi    11130
## PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi       11130
## PRJNA574280_Sscl1980_periphery_PvulG19833_leaf_50hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi    11130
## PRJNA574280_Sscl1980_periphery_HannXRQ_leaf_24hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       11130
## PRJNA574280_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA574280_Sscl1980_periphery_Rcom_leaf_50hpi       11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA577619"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_12hpi", "PRJNA577619_SsclDT8_surface_hyphae_Bnap_12hpi", "SsHADVvsVF",
  "PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_24hpi", "PRJNA577619_SsclDT8_surface_hyphae_Bnap_24hpi", "SsHADVvsVF",
  "PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_18hpi", "PRJNA577619_SsclDT8_surface_hyphae_Bnap_18hpi", "SsHADVvsVF"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 462 rows containing non-finite values (`stat_bin()`).

##                                                                                                        up
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_12hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_12hpi 2980
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_24hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_24hpi 3120
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_18hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_18hpi 3162
##                                                                                                      down
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_12hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_12hpi 3128
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_24hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_24hpi 2944
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_18hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_18hpi 3131
##                                                                                                      zerocounts
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_12hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_12hpi        152
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_24hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_24hpi        152
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_18hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_18hpi        152
##                                                                                                          n
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_12hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_12hpi 11130
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_24hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_24hpi 11130
## PRJNA577619_SsclDT8SsHADV_surface_hyphae_Bnap_18hpi_vs_PRJNA577619_SsclDT8_surface_hyphae_Bnap_18hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA593737"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA593737_SsclZ113OXSsNSRV1_colony_IVPDA", "PRJNA593737_Sscl1980_colony_IVPDA", "SsNRSVvsVF",
  "PRJNA593737_SsclZ11OXSsNSRV1_colony_IVPDA", "PRJNA593737_Sscl1980_colony_IVPDA", "SsNRSVvsVF",
  "PRJNA593737_SsclAH98_colony_IVPDA", "PRJNA593737_Sscl1980_colony_IVPDA", "SsNRSVSsHVvsVF"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 375 rows containing non-finite values (`stat_bin()`).

##                                                                                   up
## PRJNA593737_SsclZ113OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA  651
## PRJNA593737_SsclZ11OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA  2874
## PRJNA593737_SsclAH98_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA          2961
##                                                                                 down
## PRJNA593737_SsclZ113OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA 1163
## PRJNA593737_SsclZ11OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA  2922
## PRJNA593737_SsclAH98_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA          3178
##                                                                                 zerocounts
## PRJNA593737_SsclZ113OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA        115
## PRJNA593737_SsclZ11OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA         115
## PRJNA593737_SsclAH98_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA                 115
##                                                                                     n
## PRJNA593737_SsclZ113OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA 11130
## PRJNA593737_SsclZ11OXSsNSRV1_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA  11130
## PRJNA593737_SsclAH98_colony_IVPDA_vs_PRJNA593737_Sscl1980_colony_IVPDA          11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA601001"
this_meta <- meta %>% filter(bioproject == bpr)
# Just the counts please, no replicates

results <- run_count_norm(lcounts, bpr)
## converting counts to integer mode

norm_counts[[bpr]] <- results[["norm_counts"]]
bpr <- "PRJNA603456"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA603456_SsclMBGSs2_colony_IVPDAindol3carbinol", "PRJNA603456_SsclMBGSs2_colony_IVPDA", "none",
  "PRJNA603456_SsclMBGSs2_colony_IVPDAallylisothiocyanate", "PRJNA603456_SsclMBGSs2_colony_IVPDA", "none"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 984 rows containing non-finite values (`stat_bin()`).

##                                                                                                up
## PRJNA603456_SsclMBGSs2_colony_IVPDAindol3carbinol_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA       47
## PRJNA603456_SsclMBGSs2_colony_IVPDAallylisothiocyanate_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA 399
##                                                                                               down
## PRJNA603456_SsclMBGSs2_colony_IVPDAindol3carbinol_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA       116
## PRJNA603456_SsclMBGSs2_colony_IVPDAallylisothiocyanate_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA  434
##                                                                                               zerocounts
## PRJNA603456_SsclMBGSs2_colony_IVPDAindol3carbinol_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA             492
## PRJNA603456_SsclMBGSs2_colony_IVPDAallylisothiocyanate_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA        492
##                                                                                                   n
## PRJNA603456_SsclMBGSs2_colony_IVPDAindol3carbinol_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA      11130
## PRJNA603456_SsclMBGSs2_colony_IVPDAallylisothiocyanate_vs_PRJNA603456_SsclMBGSs2_colony_IVPDA 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA607858"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA607858_Sscl_lesion_AthaCol0Ago21_leaf_8hpi", "PRJNA607858_Sscl_lesion_AthaCol0_leaf_8hpi", "none"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1784 rows containing non-finite values (`stat_bin()`).

##                                                                                               up
## PRJNA607858_Sscl_lesion_AthaCol0Ago21_leaf_8hpi_vs_PRJNA607858_Sscl_lesion_AthaCol0_leaf_8hpi  1
##                                                                                               down
## PRJNA607858_Sscl_lesion_AthaCol0Ago21_leaf_8hpi_vs_PRJNA607858_Sscl_lesion_AthaCol0_leaf_8hpi    8
##                                                                                               zerocounts
## PRJNA607858_Sscl_lesion_AthaCol0Ago21_leaf_8hpi_vs_PRJNA607858_Sscl_lesion_AthaCol0_leaf_8hpi       1784
##                                                                                                   n
## PRJNA607858_Sscl_lesion_AthaCol0Ago21_leaf_8hpi_vs_PRJNA607858_Sscl_lesion_AthaCol0_leaf_8hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA641217"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl", "PRJNA641217_SsclDT8_colony_IVPDA", "IPvsIV",
  "PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl", "PRJNA641217_SsclDT8SsHADV_colony_IVPDA", "none",
  "PRJNA641217_SsclDT8SsHADV_colony_IVPDA", "PRJNA641217_SsclDT8_colony_IVPDA", "SsHADVvsVF",
  "PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl", "PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl", "SsHADVvsVF"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2060 rows containing non-finite values (`stat_bin()`).

##                                                                                                up
## PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_colony_IVPDA                2179
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8SsHADV_colony_IVPDA    2054
## PRJNA641217_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA641217_SsclDT8_colony_IVPDA                   3014
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl 2688
##                                                                                              down
## PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_colony_IVPDA                2199
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8SsHADV_colony_IVPDA    2039
## PRJNA641217_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA641217_SsclDT8_colony_IVPDA                   3002
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl 2513
##                                                                                              zerocounts
## PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_colony_IVPDA                       508
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8SsHADV_colony_IVPDA           508
## PRJNA641217_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA641217_SsclDT8_colony_IVPDA                          508
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl        508
##                                                                                                  n
## PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_colony_IVPDA                11130
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8SsHADV_colony_IVPDA    11130
## PRJNA641217_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA641217_SsclDT8_colony_IVPDA                   11130
## PRJNA641217_SsclDT8SsHADV_lesion_Bnap_hypocotyl_vs_PRJNA641217_SsclDT8_lesion_Bnap_hypocotyl 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA641462"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA641462_SsclDT8SsHADV_lesion_BnapHuashaung4_hypocotyl", "PRJNA641462_SsclDT8_lesion_BnapHuashaung4_hypocotyl", "SsHADVvsVF"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 947 rows containing non-finite values (`stat_bin()`).

##                                                                                                                    up
## PRJNA641462_SsclDT8SsHADV_lesion_BnapHuashaung4_hypocotyl_vs_PRJNA641462_SsclDT8_lesion_BnapHuashaung4_hypocotyl 2180
##                                                                                                                  down
## PRJNA641462_SsclDT8SsHADV_lesion_BnapHuashaung4_hypocotyl_vs_PRJNA641462_SsclDT8_lesion_BnapHuashaung4_hypocotyl 1961
##                                                                                                                  zerocounts
## PRJNA641462_SsclDT8SsHADV_lesion_BnapHuashaung4_hypocotyl_vs_PRJNA641462_SsclDT8_lesion_BnapHuashaung4_hypocotyl        947
##                                                                                                                      n
## PRJNA641462_SsclDT8SsHADV_lesion_BnapHuashaung4_hypocotyl_vs_PRJNA641462_SsclDT8_lesion_BnapHuashaung4_hypocotyl 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA643804"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  "PRJNA643804_SsclDK3SlaGemV1_cellophane_colony_IVPDACellophane", "PRJNA643804_SsclDK3_cellophane_colony_IVPDACellophane", "SlaGemV1vsVF"
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 289 rows containing non-finite values (`stat_bin()`).

##                                                                                                                          up
## PRJNA643804_SsclDK3SlaGemV1_cellophane_colony_IVPDACellophane_vs_PRJNA643804_SsclDK3_cellophane_colony_IVPDACellophane 1868
##                                                                                                                        down
## PRJNA643804_SsclDK3SlaGemV1_cellophane_colony_IVPDACellophane_vs_PRJNA643804_SsclDK3_cellophane_colony_IVPDACellophane 1810
##                                                                                                                        zerocounts
## PRJNA643804_SsclDK3SlaGemV1_cellophane_colony_IVPDACellophane_vs_PRJNA643804_SsclDK3_cellophane_colony_IVPDACellophane        274
##                                                                                                                            n
## PRJNA643804_SsclDK3SlaGemV1_cellophane_colony_IVPDACellophane_vs_PRJNA643804_SsclDK3_cellophane_colony_IVPDACellophane 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA647983"
this_meta <- meta %>% filter(bioproject == bpr)
this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)
## # A tibble: 3 × 13
##   included     sample       organism accession host  host_accession tissue   hpi
##   <chr>        <chr>        <chr>    <chr>     <chr> <chr>          <chr>  <dbl>
## 1 NETWORK_ONLY PRJNA647983… Sclerot… CU11.19   in v… <NA>           colony    NA
## 2 NETWORK_ONLY PRJNA647983… Sclerot… F5        in v… <NA>           colony    NA
## 3 NETWORK_ONLY PRJNA647983… Sclerot… F4        in v… <NA>           colony    NA
## # ℹ 5 more variables: plant_tissue <chr>, sample_material <chr>, notes <chr>,
## #   host_ <chr>, organism_ <chr>
# Network only

results <- run_count_norm(lcounts, bpr)
## converting counts to integer mode

norm_counts[[bpr]] <- results[["norm_counts"]]
bpr <- "PRJNA670487"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_ball_IVPDB', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_colony_IVPDA_DMSO', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_IVPDA', 'IPvsIV',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'SlysvsAtha',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'HannvsAtha',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'BvulvulvsAtha',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'RcomvsAtha',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PvulvsAtha',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'AthavsSlys',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'HannvsSlys',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'BvulvulvsSlys',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'RcomvsSlys',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PvulvsSlys',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'AthavsHann',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'SlysvsHann',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'BvulvulvsHann',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'RcomvsHann',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PvulvsHann',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'AthavsBvulvul',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'SlysvsBvulvul',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'HannvsBvulvul',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'RcomvsBvulvul',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PvulvsBvulvul',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'AthavsRcom',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'SlysvsRcom',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'HannvsRcom',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'BvulvulvsRcom',
  'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PvulvsRcom',
  'PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'AthavsPvul',
  'PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'SlysvsPvul',
  'PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'HannvsPvul',
  'PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'BvulvulvsPvul',
  'PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi', 'RcomvsPvul',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'SlysvsAtha',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'HannvsAtha',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'BvulvulvsAtha',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'RcomvsAtha',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PvulvsAtha',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'AthavsSlys',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'HannvsSlys',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'BvulvulvsSlys',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'RcomvsSlys',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PvulvsSlys',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'AthavsHann',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'SlysvsHann',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'BvulvulvsHann',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'RcomvsHann',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PvulvsHann',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'AthavsBvulvul',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'SlysvsBvulvul',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'HannvsBvulvul',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'RcomvsBvulvul',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PvulvsBvulvul',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'AthavsRcom',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'SlysvsRcom',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'HannvsRcom',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'BvulvulvsRcom',
  'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PvulvsRcom',
  'PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'AthavsPvul',
  'PRJNA670487_Sscl1980_center_Slys_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'SlysvsPvul',
  'PRJNA670487_Sscl1980_center_Hann_leaf_24hpi', 'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'HannvsPvul',
  'PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi', 'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'BvulvulvsPvul',
  'PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi', 'PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi', 'RcomvsPvul'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 11520 rows containing non-finite values (`stat_bin()`).

##                                                                                                           up
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                   1546
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                      1545
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       1676
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          1514
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       1937
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          2683
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                    2120
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       2152
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       2645
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          2454
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       1703
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          1847
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO            1088
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO               1857
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                 981
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   1617
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                 979
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   2762
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO             2412
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                2694
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                2737
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   2675
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                1493
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   2173
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA              1598
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  1421
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  1004
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA               3022
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  3020
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  1984
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                    1583
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        1674
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2491
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                     3062
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2724
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2365
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi      87
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi     377
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi 1725
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    2301
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi     472
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi     233
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi         193
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi     1778
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi        2239
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi         558
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi     754
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi         535
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi     2692
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        2778
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        1249
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi 1225
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     1302
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     1969
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     2140
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi      836
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi    2061
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        1911
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        2121
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi     2359
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        1659
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi     305
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi         263
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi         645
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi     1029
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        1694
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi           116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          2206
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi       2124
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          2003
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi           965
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi           147
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              2013
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi           1466
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              1706
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi               496
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi          2430
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              2266
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi           3488
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              2030
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              2741
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi       1394
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi            890
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           2412
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           1926
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi            252
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi          1932
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              1664
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              1579
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi           2350
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              1535
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi           421
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi               144
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              2016
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi            381
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              1341
##                                                                                                         down
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                   2457
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                      2470
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       2614
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          2336
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       3182
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          3642
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                    2551
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       2247
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       3294
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          3218
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       2291
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          2165
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO             838
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO               1698
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                 825
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   1296
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                1244
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   2780
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO             1959
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                1935
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                2377
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   2560
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                 968
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   1525
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA              1547
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  1347
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                   958
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA               2543
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  2599
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  1797
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                    1585
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        1582
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2515
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                     2476
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2856
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        2101
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi     233
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi     754
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi 1225
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    2061
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi     305
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi      87
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi         535
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi     1302
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi        1911
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi         263
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi     377
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi         193
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi     1969
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        2121
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi         645
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi 1725
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     1778
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     2692
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     2359
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     1029
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi    2301
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        2239
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        2778
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi     2140
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        1694
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi     472
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi         558
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        1249
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi      836
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        1659
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi           147
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          2430
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi       1394
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          1932
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi           421
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi           116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              2266
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi            890
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              1664
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi               144
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi          2206
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              2013
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi           2412
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              1579
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              2016
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi       2124
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           1466
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           3488
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           2350
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi            381
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi          2003
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              1706
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              2030
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi           1926
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              1341
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi           965
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi               496
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              2741
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi            252
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              1535
##                                                                                                         zerocounts
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                             116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                              116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                                 116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                              116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                                 116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                           116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                              116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                              116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                                 116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                              116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                                 116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                      116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                       116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                          116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                       116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                          116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                    116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                       116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                       116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                          116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                       116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                          116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                     116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                         116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                         116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                      116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                         116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                         116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                           116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                               116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                               116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                            116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                               116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                               116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi        116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi            116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi           116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi               116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi            116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi               116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi               116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi        116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi            116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi            116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi            116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi            116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi            116
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi           116
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi               116
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi            116
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi               116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi              116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi                  116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi                 116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi                     116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi                  116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi                     116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi                     116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi              116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi                  116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi                  116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi                  116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi                  116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi                  116
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi                 116
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi                     116
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi                  116
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi                     116
##                                                                                                             n
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                   11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                      11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                    11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                       11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_ball_IVPDB                          11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO            11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO               11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO             11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_colony_IVPDA_DMSO                   11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA              11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA               11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_IVPDA                  11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                    11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                     11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_IVPDA                        11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi 11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi     11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi    11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi     11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi        11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi 11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi     11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi     11130
## PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi    11130
## PRJNA670487_Sscl1980_periphery_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        11130
## PRJNA670487_Sscl1980_periphery_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi     11130
## PRJNA670487_Sscl1980_periphery_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_periphery_Pvul_leaf_50hpi        11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi       11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi           11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Slys_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi          11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi           11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Hann_leaf_24hpi              11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi       11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi           11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi           11130
## PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi          11130
## PRJNA670487_Sscl1980_center_Slys_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Hann_leaf_24hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              11130
## PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi           11130
## PRJNA670487_Sscl1980_center_Rcom_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Pvul_leaf_50hpi              11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA687280"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi', 'PRJNA687280_SsclCU820_ball_IVPDB', 'IPvsIV',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi', 'SuscvsResE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi', 'SuscvsResE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi', 'SuscvsRes',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi', 'SuscvsRes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi', 'MvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi', 'MvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi', 'LvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi', 'MvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi', 'MvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi', 'LvsERes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi', 'LvsMRes',
  'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi', 'LvsMRes',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi', 'MvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi', 'MvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi', 'LvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi', 'MvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi', 'MvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi', 'LvsE',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi', 'LvsM',
  'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi', 'PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi', 'LvsM'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3690 rows containing non-finite values (`stat_bin()`).

##                                                                                                                up
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                      2958
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     3196
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     3099
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     3617
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     3405
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       3669
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       3370
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       3085
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       3087
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                        2807
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi      388
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi    137
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi     23
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi     86
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  1780
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  2403
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  2115
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 1560
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 2797
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 2318
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi 2411
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi    1
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1145
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1216
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1762
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     1816
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     1725
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     2181
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi     3393
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi      329
##                                                                                                              down
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                      4070
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     4446
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     4881
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     4102
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     4326
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       4201
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       4400
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       4839
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       4191
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                        3583
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi      273
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi    160
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi     10
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi    424
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  2219
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  1899
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  1859
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 2093
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 2121
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 1961
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi 1414
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi    5
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1416
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1124
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      1529
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     2148
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     1606
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     1663
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi     2085
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi      101
##                                                                                                              zerocounts
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                             120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                            120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                            120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                            120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                              120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                              120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                              120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                              120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                               120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi          120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi          120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi          120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi         120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi         120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi         120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi        120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi        120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi        120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi        120
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi        120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi             120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi             120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi             120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi            120
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi            120
##                                                                                                                  n
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                      11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                       11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_ball_IVPDB                        11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi   11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi   11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi   11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_6hpi  11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_12hpi 11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_24hpi 11130
## PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariHatTrick_stem_48hpi 11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_6hpi      11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_12hpi     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_24hpi     11130
## PRJNA687280_SsclCU820_lesion_CariKyabra_stem_72hpi_vs_PRJNA687280_SsclCU820_lesion_CariKyabra_stem_48hpi     11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA695466"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA695466_SsclDT8SsHADV_colony_IVPDA', 'PRJNA695466_SsclDT8_colony_IVPDA', 'SsHADVvsVF'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 580 rows containing non-finite values (`stat_bin()`).

##                                                                              up
## PRJNA695466_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA695466_SsclDT8_colony_IVPDA 3196
##                                                                            down
## PRJNA695466_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA695466_SsclDT8_colony_IVPDA 3204
##                                                                            zerocounts
## PRJNA695466_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA695466_SsclDT8_colony_IVPDA        577
##                                                                                n
## PRJNA695466_SsclDT8SsHADV_colony_IVPDA_vs_PRJNA695466_SsclDT8_colony_IVPDA 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA706136"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA706136_Sscl_lesion_Bole_petiole_8hpi', 'PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi', 'BolevsBvil',
  'PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi', 'PRJNA706136_Sscl_lesion_Bole_petiole_8hpi', 'BvilvsBole'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1860 rows containing non-finite values (`stat_bin()`).

##                                                                                         up
## PRJNA706136_Sscl_lesion_Bole_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi  80
## PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bole_petiole_8hpi 267
##                                                                                        down
## PRJNA706136_Sscl_lesion_Bole_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi  267
## PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bole_petiole_8hpi   80
##                                                                                        zerocounts
## PRJNA706136_Sscl_lesion_Bole_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi        930
## PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bole_petiole_8hpi        930
##                                                                                            n
## PRJNA706136_Sscl_lesion_Bole_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi 11130
## PRJNA706136_Sscl_lesion_Bvil_petiole_8hpi_vs_PRJNA706136_Sscl_lesion_Bole_petiole_8hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA735329"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi', 'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi', 'MvsERes',
  'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi', 'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi', 'LvsERes',
  'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi', 'PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi', 'LvsMRes'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1671 rows containing non-finite values (`stat_bin()`).

##                                                                                                            up
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi  1112
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi  1633
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi 1051
##                                                                                                          down
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi   881
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi  1221
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi  783
##                                                                                                          zerocounts
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi         555
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi         555
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi        555
##                                                                                                              n
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi  11130
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_6hpi  11130
## PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_48hpi_vs_PRJNA735329_Sscl1980_lesion_BnapNingRS1_leaf_24hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA744751"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

# Just the counts please
results <- run_count_norm(lcounts, bpr)
## converting counts to integer mode

norm_counts[[bpr]] <- results[["norm_counts"]]
bpr <- "PRJNA766564"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

exclude <- c("SRR16082437")

contrasts <- matrix(c(
   'PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi', 'PRJNA766564_Sscl_lesion_BnapWestar_stem_24hpi', 'LvsE',
   'PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi', 'PRJNA766564_Sscl_lesion_Bnap1703_stem_168hpi', 'SuscvsRes'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta)
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr, exclude=exclude)
## converting counts to integer mode
## Warning in rownames(this_meta) == colnames(this_counts): longer object length
## is not a multiple of shorter object length
## converting counts to integer mode
## factor levels were dropped which had no samples
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2914 rows containing non-finite values (`stat_bin()`).

##                                                                                                   up
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_BnapWestar_stem_24hpi 1323
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_Bnap1703_stem_168hpi     6
##                                                                                                 down
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_BnapWestar_stem_24hpi  889
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_Bnap1703_stem_168hpi     1
##                                                                                                 zerocounts
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_BnapWestar_stem_24hpi       1457
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_Bnap1703_stem_168hpi        1457
##                                                                                                     n
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_BnapWestar_stem_24hpi 11130
## PRJNA766564_Sscl_lesion_BnapWestar_stem_168hpi_vs_PRJNA766564_Sscl_lesion_Bnap1703_stem_168hpi  11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA777355"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi', 'PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane', 'IPvsIV',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi', 'PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane', 'IPvsIV',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi', 'PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane', 'IPvsIV',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi', 'PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane', 'IPvsIV',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi', 'PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane', 'IPvsIV',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi', 'MvsE',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi', 'MvsE',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi', 'MvsE',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi', 'MvsE',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi', 'MvsE',
  'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi', 'PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi', 'MvsE'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3201 rows containing non-finite values (`stat_bin()`).

##                                                                                                               up
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  2893
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  4053
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 3011
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 2498
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 3536
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       2204
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       2494
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       3448
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3402
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3578
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3398
##                                                                                                             down
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  2530
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  3635
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 2936
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 2724
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 2940
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       1895
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       2547
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       3304
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3596
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3792
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       3417
##                                                                                                             zerocounts
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane         289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane         289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane        289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane        289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane        289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi              289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi              289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi              289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi              289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi              289
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi              289
##                                                                                                                 n
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane  11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_cellophane_colony_IVPDACellophane 11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_2hpi       11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_12hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_24hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       11130
## PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_36hpi_vs_PRJNA777355_Sscl1980_lesion_BnapWestar_leaf_6hpi       11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA789389"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_4hpi', 'PRJNA789389_SsclNB5_ball_IVCYM', 'IPvsIV',
  'PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi', 'PRJNA789389_SsclNB5_ball_IVCYM', 'IPvsIV',
  'PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi', 'PRJNA789389_SsclNB5_ball_IVCYM', 'IPvsIV',
  'PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi', 'PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi', 'SuscvsResE'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr, exclude = "SRR17267260")
## converting counts to integer mode
## Warning in rownames(this_meta) == colnames(this_counts): longer object length
## is not a multiple of shorter object length
## converting counts to integer mode
## factor levels were dropped which had no samples
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2116 rows containing non-finite values (`stat_bin()`).

##                                                                                                              up
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_4hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     1444
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     1744
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                       1782
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi    0
##                                                                                                            down
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_4hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     1557
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     1843
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                       1722
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi    2
##                                                                                                            zerocounts
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_4hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                            329
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                            329
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                              329
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi        329
##                                                                                                                n
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_4hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     11130
## PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                     11130
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_ball_IVCYM                       11130
## PRJNA789389_SsclNB5_lesion_GmaxACColibri_leaf_8hpi_vs_PRJNA789389_SsclNB5_lesion_GmaxACColibriOA_leaf_8hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA804213"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

# These don't have phenotypes that I can find, so no contrasts
# PRJNA804213_SsclP7_lesion_LsatPI251246_leaf_42hpi
# PRJNA804213_SsclP7_lesion_LsatArmenianLser_leaf_42hpi
# PRJNA804213_SsclP7_lesion_Lsat43_leaf_42hpi

contrasts <- matrix(c(
  'PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes',
  'PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi', 'PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi', 'SuscvsRes'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## rlog() may take a long time with 50 or more samples,
## vst() is a much faster transformation
## rlog() may take a long time with 50 or more samples,
## vst() is a much faster transformation
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 16744 rows containing non-finite values (`stat_bin()`).

##                                                                                                                         up
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  1
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           0
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      0
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      6
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi          0
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                        23
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  1
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                0
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  11
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  21
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           0
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      0
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      1
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi           12
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                37
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                         71
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                     1
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                   514
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi         1
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      491
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                 6
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi               2
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                 34
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                143
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                         10
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                     1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                     1
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi         161
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           9
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    8
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi               0
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi             501
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi   1
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                529
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           0
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi         1
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi            5
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           28
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    2
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi               1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi               1
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi    31
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                   0
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            0
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                       0
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                       2
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi           0
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                          2
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                   0
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                 3
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                    0
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                    0
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            1
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                       1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                       0
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi             2
##                                                                                                                        down
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  46
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           25
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      21
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                     274
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi           0
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                        279
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  19
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                33
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  127
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                  106
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           73
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      13
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                      16
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi           109
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                172
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                         150
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                     10
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                    618
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi          7
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                       600
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                 22
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                9
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                 218
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                 319
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                         117
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      5
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi          264
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           94
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    74
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                0
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi              528
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi    0
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                 502
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi            0
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi          0
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           112
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi           118
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    17
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                0
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi    112
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                    0
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                             0
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        1
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        8
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi            1
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                          39
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                    0
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                  1
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     6
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     0
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                             6
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        1
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        0
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi              5
##                                                                                                                        zerocounts
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                       298
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                                298
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           298
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           298
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi               298
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                              298
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                       298
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                     298
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                        298
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                        298
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                                298
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           298
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                           298
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                 298
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      298
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                               298
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                          298
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                          298
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi              298
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                             298
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      298
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                    298
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                       298
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                       298
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                               298
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                          298
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                          298
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                298
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                298
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                         298
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    298
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    298
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi        298
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                       298
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                298
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi              298
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                 298
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                 298
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                         298
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    298
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                    298
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi          298
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        298
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                                 298
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            298
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            298
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                298
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                               298
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        298
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                      298
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                         298
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                         298
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                                 298
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            298
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                            298
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                  298
##                                                                                                                            n
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                11130
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                         11130
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                    11130
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                    11130
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi        11130
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                       11130
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                11130
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi              11130
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                 11130
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                 11130
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                         11130
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                    11130
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi                    11130
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatPrazan_leaf_42hpi          11130
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi               11130
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                        11130
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                   11130
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                   11130
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi       11130
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                      11130
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi               11130
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi             11130
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                11130
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                11130
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                        11130
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                   11130
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi                   11130
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatIceberg_leaf_42hpi         11130
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi         11130
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                  11130
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi             11130
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi             11130
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi 11130
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                11130
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi         11130
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi       11130
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi          11130
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi          11130
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi                  11130
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi             11130
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi             11130
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatBataviaTezier_leaf_42hpi   11130
## PRJNA804213_SsclP7_lesion_LsatRedGranoble_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                 11130
## PRJNA804213_SsclP7_lesion_Lsat58_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                          11130
## PRJNA804213_SsclP7_lesion_LsatPallone_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     11130
## PRJNA804213_SsclP7_lesion_LsatOakLeaf_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     11130
## PRJNA804213_SsclP7_lesion_LsatKaiserSelbstschluss_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi         11130
## PRJNA804213_SsclP7_lesion_LsatKahu_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                        11130
## PRJNA804213_SsclP7_lesion_LsatCobhamGreen_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                 11130
## PRJNA804213_SsclP7_lesion_LsatBloodyWarrior_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi               11130
## PRJNA804213_SsclP7_lesion_LsatAmbassador_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                  11130
## PRJNA804213_SsclP7_lesion_LsatAdriatica2_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                  11130
## PRJNA804213_SsclP7_lesion_Lsat68_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                          11130
## PRJNA804213_SsclP7_lesion_LsatSimpson_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     11130
## PRJNA804213_SsclP7_lesion_LsatSaladin_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi                     11130
## PRJNA804213_SsclP7_lesion_LsatRomainDeBenicardo_leaf_42hpi_vs_PRJNA804213_SsclP7_lesion_LsatAspen_leaf_42hpi           11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA830457"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

# I decided to exclude the resynthesized sample in case it isn't a good representative of Bnapus
# PRJNA830457_Sscl_periphery_BnapResynthesized_leaf_24hpi

contrasts <- matrix(c(
  'PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi', 'BrapvsBole',
  'PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi', 'BnapvsBole',
  'PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi', 'BrapvsBnap',
  'PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi', 'BolevsBnap',
  'PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi', 'BnapvsBrap',
  'PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi', 'PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi', 'BolevsBrap'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2424 rows containing non-finite values (`stat_bin()`).

##                                                                                                        up
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi 1383
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi  142
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi 1186
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi  250
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi  779
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi  753
##                                                                                                      down
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi  753
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi  250
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi  779
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi  142
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi 1186
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi 1383
##                                                                                                      zerocounts
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi        393
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi        393
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi        393
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi        393
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi        393
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi        393
##                                                                                                          n
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi 11130
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi 11130
## PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi 11130
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi 11130
## PRJNA830457_Sscl_periphery_BnapSentry_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi 11130
## PRJNA830457_Sscl_periphery_BoleTO1000_leaf_24hpi_vs_PRJNA830457_Sscl_periphery_BrapIMB218_leaf_24hpi 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])
bpr <- "PRJNA874732"
this_meta <- meta %>% filter(bioproject == bpr)
#this_meta %>% select(included, sample, organism, accession, host, host_accession, tissue, hpi, plant_tissue, sample_material, notes, host_, organism_)

contrasts <- matrix(c(
  'PRJNA874732_Sscl1980dSsAOX_colony_IVMMGluSSE', 'PRJNA874732_Sscl1980_colony_IVMMGluSSE', 'none'
), ncol=3, byrow = TRUE)

contrasts <- process_contrast_mat(bpr, contrasts, this_meta) 
all_contrasts[[bpr]] <- contrasts
results <- run_deg_tests(lcounts, contrasts, bpr)
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 284 rows containing non-finite values (`stat_bin()`).

##                                                                                         up
## PRJNA874732_Sscl1980dSsAOX_colony_IVMMGluSSE_vs_PRJNA874732_Sscl1980_colony_IVMMGluSSE 815
##                                                                                        down
## PRJNA874732_Sscl1980dSsAOX_colony_IVMMGluSSE_vs_PRJNA874732_Sscl1980_colony_IVMMGluSSE 1029
##                                                                                        zerocounts
## PRJNA874732_Sscl1980dSsAOX_colony_IVMMGluSSE_vs_PRJNA874732_Sscl1980_colony_IVMMGluSSE        284
##                                                                                            n
## PRJNA874732_Sscl1980dSsAOX_colony_IVMMGluSSE_vs_PRJNA874732_Sscl1980_colony_IVMMGluSSE 11130
norm_counts[[bpr]] <- results[["norm_counts"]]
deg_results <- c(deg_results, results[["tests"]])

Yay! They’re all done. Now I need to combine the results and turn it into something we can use for the next steps.

contrasts <- do.call(rbind, all_contrasts)
row.names(contrasts) <- NULL

deg_results_ <- do.call(rbind, lapply(
  names(deg_results),
  FUN = function(n) {
    as.data.frame(deg_results[[n]]) %>% rownames_to_column("geneid") %>% mutate(contrast = n)    
  }
))
row.names(deg_results_) <- NULL

deg_results_ <- left_join(
  deg_results_ %>% unique(),
  contrasts %>% unique(),
  by = "contrast"
) %>% unique()
## Warning in left_join(deg_results_ %>% unique(), contrasts %>% unique(), : Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 701191 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
deg_results_ <- deg_results_[
  order(deg_results_$contrast_group, deg_results_$bioproject, deg_results_$contrast, deg_results_$geneid),
  c('contrast', 'contrast_group', 'bioproject', 'sample1', 'sample2', 'host1', 'hpi1', 'host2', 'hpi2', 'geneid', 'baseMean', 'log2FoldChange', 'lfcSE', 'stat', 'pvalue', 'padj')
]

readr::write_tsv(deg_results_, "output/dge_tests.tsv", na = "-")
head(deg_results_)
##                                                                                                  contrast
## 2114701 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
## 2114702 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
## 2114703 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
## 2114704 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
## 2114705 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
## 2114706 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi_vs_PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi
##         contrast_group  bioproject
## 2114701  AthavsBvulvul PRJNA670487
## 2114702  AthavsBvulvul PRJNA670487
## 2114703  AthavsBvulvul PRJNA670487
## 2114704  AthavsBvulvul PRJNA670487
## 2114705  AthavsBvulvul PRJNA670487
## 2114706  AthavsBvulvul PRJNA670487
##                                                 sample1
## 2114701 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
## 2114702 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
## 2114703 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
## 2114704 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
## 2114705 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
## 2114706 PRJNA670487_Sscl1980_center_AthaCol0_leaf_50hpi
##                                                sample2 host1 hpi1   host2 hpi2
## 2114701 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
## 2114702 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
## 2114703 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
## 2114704 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
## 2114705 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
## 2114706 PRJNA670487_Sscl1980_center_Bvulvul_leaf_72hpi  Atha   50 Bvulvul   72
##                  geneid  baseMean log2FoldChange     lfcSE       stat
## 2114701 sscle_01g000010  672.4706      0.6758516 0.2289898  2.9514488
## 2114702 sscle_01g000020  698.0625      0.1922704 0.2487866  0.7728327
## 2114703 sscle_01g000030  324.3060      0.9304600 0.2955415  3.1483225
## 2114704 sscle_01g000040  707.8472      0.3738535 0.1703691  2.1943745
## 2114705 sscle_01g000050 2906.4103      1.7765442 0.5785149  3.0708700
## 2114706 sscle_01g000060  931.7485     -0.8675822 0.3706281 -2.3408428
##              pvalue        padj
## 2114701 0.003162870 0.014167290
## 2114702 0.439621409 0.615590480
## 2114703 0.001642104 0.008488059
## 2114704 0.028208494 0.077692936
## 2114705 0.002134360 0.010467397
## 2114706 0.019240268 0.057789684

Ok. thats the DGE tests done. Now the counts.

norm_counts_ <- do.call(cbind, norm_counts)


lcounts <- left_join(
  lcounts,
  as.data.frame(norm_counts_) %>% rownames_to_column("id") %>% tidyr::pivot_longer(-id, names_to = "sra", values_to = "disp_norm_count"),
  by = c("sra", "id")
)

norm_counts_[1:5, 1:5]
##                 SRR1582088 SRR1582089 SRR1582090 SRR1582091 SRR1582133
## sscle_01g000010   6.369056   5.971994   6.087733   6.510656   6.460247
## sscle_01g000020   8.202125   8.449977   6.828782   7.757159   7.253096
## sscle_01g000030   6.046545   5.592120   5.395028   6.581483   5.882642
## sscle_01g000040   6.507843   6.917127   6.625821   5.996866   6.913650
## sscle_01g000050   6.544620   6.028905   9.393731   8.757588   9.573854
dim(norm_counts_)
## [1] 11130   422

That was easy. Let’s look again at the PCA plots.

pca_raw <- princomp(norm_counts_, fix_sign = TRUE)

prop_var <- ((pca_raw$sdev[1:10] / sum(pca_raw$sdev)) * 100) %>%
  data.frame(variance_explained = .) %>%
  rownames_to_column("PC") %>%
  mutate(PC = paste0("PC", sprintf("%02d", 1:n())))

print(prop_var)
##      PC variance_explained
## 1  PC01          23.901762
## 2  PC02           4.091779
## 3  PC03           2.742324
## 4  PC04           2.623500
## 5  PC05           2.230965
## 6  PC06           2.073388
## 7  PC07           1.778802
## 8  PC08           1.602252
## 9  PC09           1.538337
## 10 PC10           1.415452
ggplot(prop_var, aes(x=PC, y=variance_explained)) + geom_bar(stat = "identity")

pca <- as.data.frame(pca_raw$loadings[, 1:10])
colnames(pca) <- paste0("PC", sprintf("%02d", seq_len(ncol(pca))))
pca <- pca %>% rownames_to_column("sra")
pca <- right_join(meta, pca, by = "sra")
head(pca)
## # A tibble: 6 × 42
##   sra        bioproject  biosample  DOI   platform read_length strategy stranded
##   <chr>      <chr>       <chr>      <chr> <chr>          <dbl> <chr>    <chr>   
## 1 SRR1582088 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 2 SRR1582089 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 3 SRR1582090 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 4 SRR1582091 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 5 SRR1582133 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## 6 SRR1582134 PRJNA261444 SAMN03074… http… ILLUMINA         150 PE       unstran…
## # ℹ 34 more variables: n_fragments <dbl>, n_fragments_filtered <dbl>,
## #   n_fragments_aligned <dbl>, n_fragments_aligned_single <dbl>,
## #   n_fragments_aligned_multi <dbl>, included <chr>, sample <chr>,
## #   organism <chr>, organism_tidyname <chr>, accession <chr>,
## #   accession_tidyname <chr>, host <chr>, host_tidyname <chr>,
## #   host_accession <chr>, host_accession_tidyname <chr>, tissue <chr>,
## #   hpi <dbl>, plant_tissue <chr>, treatment <chr>, treatment_tidy <chr>, …
gg1 <- pca %>%
  select(sra, host = host_tidyname, bioproject, PC01, PC02, PC03) %>%
  tidyr::pivot_longer(cols = c(PC01, PC02, PC03)) %>%
  full_join(., ., by=c("sra", "host", "bioproject")) %>%
  unique() %>%
  ggplot(aes(x=value.x, y=value.y, colour = host, shape = host)) +
  geom_point(size = 2, alpha = 0.6) +
  facet_grid(rows = vars(name.y), cols = vars(name.x), scales = "free") +
  theme(aspect.ratio = 1)
## Warning in full_join(., ., by = c("sra", "host", "bioproject")): Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 1 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
gg1 <- gg_shape(gg1, pca$host)

gg2 <- pca %>%
  select(sra, host = host_tidyname, bioproject, PC01, PC02, PC03) %>%
  tidyr::pivot_longer(cols = c(PC01, PC02, PC03)) %>%
  full_join(., ., by=c("sra", "host", "bioproject")) %>%
  unique() %>%
  ggplot(aes(x=value.x, y=value.y, colour = bioproject, shape = bioproject)) +
  geom_point(size = 2, alpha = 0.6) +
  facet_grid(rows = vars(name.y), cols = vars(name.x), scales = "free") +
  theme(aspect.ratio = 1)
## Warning in full_join(., ., by = c("sra", "host", "bioproject")): Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 1 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
gg2 <- gg_shape(gg2, pca$bioproject)
library(cowplot)
## 
## Attaching package: 'cowplot'
## The following object is masked from 'package:lubridate':
## 
##     stamp
gg <- plot_grid(gg1, gg2, ncol = 1, align = "hv")
ggsave("output/deseq_norm_pca.svg", gg, height = 10, width = 10)
gg

It’s a bit less crazy, which I like. I think there’s some nice clustering of hosts in there, so it seems like it should be possible to pull interesting things from this.

So in an ideal world, you’d have most of the variation explained by factors of interest. I do see a general clustering of samples from the same bioprojects. But there also tend to be similar treatments within each bioproject, so it’s difficult to tell.

We’ll have to see. Maybe I can remove some of these effects. I was planning to SVA to do this, but it seems like it can’t handle the DESeq2 counts shrunk counts. So i’ll run ComBat_seq on the raw data and redo the rlog shrinkage. Unfortunately, i can’t seem to include any of the covariates of interest in the ComBat model as they’re all confounded with the BioProject. So we’ll have to see if it removes any factors of interest.

batch <- setNames(meta[["bioproject"]], meta[["sra"]])[colnames(norm_counts_)]
tmp <- as.data.frame(column_to_rownames(meta, "sra")[colnames(norm_counts_), ])
tmp[is.na(tmp)] <- "NA"

tmp_counts <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = count) %>%
  column_to_rownames("id") %>%
  as.matrix()

mm <- model.matrix(~as.factor(sample), data=tmp)

# Paper says that applying shrinkage at this point is unnecessary.
combat_edata <- ComBat_seq(
  tmp_counts,
  batch=batch,
  group=NULL,
  shrink.disp = FALSE,
  shrink = FALSE
)
## Found 30 batches
## Using null model in ComBat-seq.
## Adjusting for 0 covariate(s) or covariate level(s)
## Estimating dispersions
## Fitting the GLM model
## Shrinkage off - using GLM estimates for parameters
## Adjusting the data
combat_edata[1:5, 1:5]
##                 SRR1582088 SRR1582089 SRR1582090 SRR1582091 SRR1582133
## sscle_01g000010         35         45         59         57        184
## sscle_01g000020         72        167         65         82        177
## sscle_01g000030         17         18         15         46         65
## sscle_01g000040         32         74         78         44        176
## sscle_01g000050         50         73        628        290       1436
lcounts <- left_join(
  lcounts,
  as.data.frame(combat_edata) %>% rownames_to_column("id") %>% tidyr::pivot_longer(-id, names_to = "sra", values_to = "batch_norm_count"),
  by = c("sra", "id")
)
head(lcounts)
## # A tibble: 6 × 25
##   sra        bioproject  included sample    organism organism_tidyname accession
##   <chr>      <chr>       <chr>    <chr>     <chr>    <chr>             <chr>    
## 1 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 2 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 3 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 4 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 5 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## 6 SRR1582088 PRJNA261444 TRUE     PRJNA261… Sclerot… Sscl              Scl02-05 
## # ℹ 18 more variables: accession_tidyname <chr>, host <chr>,
## #   host_tidyname <chr>, host_accession <chr>, host_accession_tidyname <chr>,
## #   tissue <chr>, hpi <dbl>, plant_tissue <chr>, treatment <chr>,
## #   treatment_tidy <chr>, sample_material <chr>, host_ <chr>, organism_ <chr>,
## #   id <chr>, count <dbl>, cpm <dbl>, disp_norm_count <dbl>,
## #   batch_norm_count <dbl>

Ok. So we’ve done the batch correction, now we do the DESeq correction again.

run_count_norms2 <- function(lcounts, bpr) {
  this_counts <- lcounts %>% filter(bioproject == bpr)  %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = batch_norm_count) %>%
    column_to_rownames("id") %>%
    as.matrix()
  
  all(rownames(this_meta) == colnames(this_counts))
  this_meta_ <- this_meta %>% column_to_rownames("sra") %>% mutate(sample = factor(sample)) %>% .[colnames(this_counts), ]
  
  dds <- DESeqDataSetFromMatrix(
    countData = this_counts,
    colData = this_meta_,
    design = ~ 1
  )
  
  ncounts <- assay(rlog(dds, blind = TRUE))
  print(plotPCA(rlog(dds, blind = FALSE), intgroup = "sample"))
  
  return(ncounts)
}

norm_counts <- list()

for (bpr in unique(meta$bioproject)) {
  this_meta <- meta %>% filter(bioproject == bpr)
  norm_counts[[bpr]] <- run_count_norms2(lcounts, bpr)
}
## converting counts to integer mode
## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation

## converting counts to integer mode
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation
## rlog() may take a few minutes with 30 or more samples,
## vst() is a much faster transformation

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode

## converting counts to integer mode
## rlog() may take a long time with 50 or more samples,
## vst() is a much faster transformation
## rlog() may take a long time with 50 or more samples,
## vst() is a much faster transformation

## converting counts to integer mode

## converting counts to integer mode

norm_counts_ <- do.call(cbind, norm_counts)

lcounts <- left_join(
  lcounts,
  as.data.frame(norm_counts_) %>% rownames_to_column("id") %>% tidyr::pivot_longer(-id, names_to = "sra", values_to = "norm_count"),
  by = c("sra", "id")
)

norm_counts_[1:5, 1:5]
##                 SRR1582088 SRR1582089 SRR1582090 SRR1582091 SRR1582133
## sscle_01g000010   7.072656   6.711151   6.802304   7.135453   7.188496
## sscle_01g000020   7.913726   8.082829   7.092964   7.646709   7.331486
## sscle_01g000030   5.978562   5.480902   5.224116   6.514275   5.810956
## sscle_01g000040   7.038773   7.194144   7.093917   6.949972   7.188252
## sscle_01g000050   7.718862   7.467015   9.415718   9.025624   9.543757
dim(norm_counts_)
## [1] 11130   422

The per bioproject PCA plots look very similar to the others, though it’s difficult to compare them scrolling up and down. Now let’s look at the whole PCA.

tmp_counts <- apply(norm_counts_, MARGIN = 2, FUN = scale)
rownames(tmp_counts) <- rownames(norm_counts_)
colnames(tmp_counts) <- colnames(norm_counts_)

tmp_counts[is.na(tmp_counts)] <- 0
pca_raw <- princomp(tmp_counts, fix_sign = TRUE)

prop_var <- ((pca_raw$sdev[1:10] / sum(pca_raw$sdev)) * 100) %>%
  data.frame(variance_explained = .) %>%
  rownames_to_column("PC") %>%
  mutate(PC = paste0("PC", sprintf("%02d", 1:n())))

print(prop_var)
##      PC variance_explained
## 1  PC01          27.825656
## 2  PC02           3.130342
## 3  PC03           2.820906
## 4  PC04           2.095826
## 5  PC05           1.723563
## 6  PC06           1.442321
## 7  PC07           1.334999
## 8  PC08           1.271084
## 9  PC09           1.156804
## 10 PC10           1.122988
ggplot(prop_var, aes(x=PC, y=variance_explained)) + geom_bar(stat = "identity")

We’ve jumped from the first PC explaining ~23% of the variance to ~27%. It’s not much of a difference.

pca <- as.data.frame(pca_raw$loadings[, 1:10])
colnames(pca) <- paste0("PC", sprintf("%02d", seq_len(ncol(pca))))
pca <- pca %>% rownames_to_column("sra")
pca <- right_join(meta %>% select(sra, host_tidyname, bioproject), pca, by = "sra")
gg1 <- pca %>%
  select(sra, host = host_tidyname, bioproject, PC01, PC02, PC03) %>%
  tidyr::pivot_longer(cols = c(PC01, PC02, PC03)) %>%
  full_join(., ., by=c("sra", "host", "bioproject")) %>%
  unique() %>%
  ggplot(aes(x=value.x, y=value.y, colour = host, shape = host)) +
  geom_point(size = 2, alpha = 0.6) +
  facet_grid(rows = vars(name.y), cols = vars(name.x), scales = "free") +
  theme(aspect.ratio = 1)
## Warning in full_join(., ., by = c("sra", "host", "bioproject")): Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 1 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
gg1 <- gg_shape(gg1, pca$host)

gg2 <- pca %>%
  select(sra, host = host_tidyname, bioproject, PC01, PC02, PC03) %>%
  tidyr::pivot_longer(cols = c(PC01, PC02, PC03)) %>%
  full_join(., ., by=c("sra", "host", "bioproject")) %>%
  unique() %>%
  ggplot(aes(x=value.x, y=value.y, colour = bioproject, shape = bioproject)) +
  geom_point(size = 2, alpha = 0.6) +
  facet_grid(rows = vars(name.y), cols = vars(name.x), scales = "free") +
  theme(aspect.ratio = 1)
## Warning in full_join(., ., by = c("sra", "host", "bioproject")): Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 1 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
gg2 <- gg_shape(gg2, pca$bioproject)
library(cowplot)

gg <- plot_grid(gg1, gg2, ncol = 1, align = "hv")
ggsave("output/combat_norm_pca.svg", gg, height = 10, width = 10)
gg

gg3 <- pca %>%
  select(sra, host = host_tidyname, bioproject, PC01, PC02, PC03) %>%
  tidyr::pivot_longer(cols = c(PC01, PC02, PC03)) %>%
  unique() %>%
  ggplot(aes(x=value)) +
  geom_histogram(fill = "black") +
  facet_grid(cols = vars(name), scales = "free")

print(gg3)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Yeah i do think that the PCs are maybe a bit tidier. I definitely still see groupings of samples from the same bioproject, but probably it’s unavoidable. Maybe i’ll look at correlation matrices.

Here’s the one from the ComBat normalised counts.

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = norm_count) %>%
  column_to_rownames("id") %>%
  as.matrix()

meta_tmp <- meta[order(meta$host, meta$host_accession, meta$hpi, meta$tissue, meta$accession, meta$plant_tissue, meta$treatment),]
tmp <- tmp[, meta_tmp$sra[meta_tmp$sra %in% colnames(tmp)]]

tmp_cor <- cor(tmp)
#tmp_dist <- as.dist(1 - tmp_cor)
#hcl <- hclust(tmp_dist, method = "average")

#srrs <- colnames(tmp)[hcl$order]
ha <- HeatmapAnnotation(
  bioproject = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "bioproject"],
  host = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "host"]
)

ht <- Heatmap(
  tmp_cor,
  name = "samples",
  cluster_rows = FALSE,
  cluster_columns = FALSE,
  show_column_dend = FALSE,
  show_column_names = FALSE,
  show_row_names = FALSE,
  top_annotation = ha,
  height=nrow(tmp_cor) * unit(0.5, "mm"),
  width=ncol(tmp_cor) * unit(0.5, "mm")
)

htsize <- calc_ht_size(ht)
htsize
## [1] 12.409344  8.906201
pdf("output/06-samples_correlation_host_normed.pdf", width = htsize[1], height = htsize[2])
ht
dev.off()
## png 
##   2
draw(ht)

Well the clusters in here certainly make more sense than from the raw data. I’ve looked at the data, and i don’t think a log transformation is necessary.

And here’s the one from the dispersion normalised counts (i.e. DESeq but no ComBat).

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = disp_norm_count) %>%
  column_to_rownames("id") %>%
  as.matrix()

meta_tmp <- meta[order(meta$host, meta$host_accession, meta$hpi, meta$tissue, meta$accession, meta$plant_tissue, meta$treatment),]
tmp <- tmp[, meta_tmp$sra[meta_tmp$sra %in% colnames(tmp)]]

tmp_cor <- cor(tmp)
#tmp_dist <- as.dist(1 - tmp_cor)
#hcl <- hclust(tmp_dist, method = "average")

#srrs <- colnames(tmp)[hcl$order]
ha <- HeatmapAnnotation(
  bioproject = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "bioproject"],
  host = meta %>% column_to_rownames("sra") %>% .[colnames(tmp), "host"]
)

ht <- Heatmap(
  tmp_cor,
  name = "samples",
  cluster_rows = FALSE,
  cluster_columns = FALSE,
  show_column_dend = FALSE,
  show_column_names = FALSE,
  show_row_names = FALSE,
  top_annotation = ha,
  height=nrow(tmp_cor) * unit(0.5, "mm"),
  width=ncol(tmp_cor) * unit(0.5, "mm")
)

htsize <- calc_ht_size(ht)
htsize
## [1] 12.409344  8.906201
pdf("output/06-samples_correlation_host_normed.pdf", width = htsize[1], height = htsize[2])
ht
dev.off()
## png 
##   2
draw(ht)

These look almost identical. I think that because the extra amount of variance explained is relatively low, and the results look fairly similar, i won’t continue with the ComBat normalised counts. There’s a risk that removing the bioproject effect might remove some information about treatments (esp because I wasn’t able to provide info about treatments). The benefits don’t seem to outweigh the risks.

I’d like to see what we can do with gene level correlation. Do the gene expression values look ok?

tmp <- lcounts %>% tidyr::pivot_wider(id_cols = c(id), names_from = sra, values_from = disp_norm_count) %>%
  column_to_rownames("id") %>%
  as.matrix()

meta_tmp <- meta[order(meta$host, meta$host_accession, meta$hpi, meta$tissue, meta$accession, meta$plant_tissue, meta$treatment),]
tmp <- tmp[, meta_tmp$sra[meta_tmp$sra %in% colnames(tmp)]]

# There are two genes with no counts in any samples.
# We need to exclude them for the correlation to work.
# Causes error about stddev == 0.
tmp_cor_disp <- cor(t(tmp[(rowSums(tmp) > 0), ]))

quantile(tmp_cor_disp)
##         0%        25%        50%        75%       100% 
## -0.7794173  0.5212797  0.7029208  0.8299517  1.0000000

Yeah that seems like a reasonable range of values. I think probably the number of genes with mid correlation (~0.5-0.8) is caused by genes with relatively low variation across treatments. I suspect that once we remove those genes we’ll see cleaner differences.

pca_raw <- prcomp(t(tmp), retx = TRUE)

prop_var <- ((pca_raw$sdev[1:10] / sum(pca_raw$sdev)) * 100) %>%
  data.frame(variance_explained = .) %>%
  rownames_to_column("PC") %>%
  mutate(PC = paste0("PC", sprintf("%02d", 1:n())))

print(prop_var)
##      PC variance_explained
## 1  PC01          12.060582
## 2  PC02           5.330749
## 3  PC03           3.133397
## 4  PC04           3.026981
## 5  PC05           2.468580
## 6  PC06           2.090405
## 7  PC07           1.965078
## 8  PC08           1.874302
## 9  PC09           1.683586
## 10 PC10           1.516939
ggplot(prop_var, aes(x=PC, y=variance_explained)) + geom_bar(stat = "identity")

pca <- as.data.frame(pca_raw$rotation[, 1:10])
colnames(pca) <- paste0("PC", sprintf("%02d", seq_len(ncol(pca))))
pca <- pca %>% rownames_to_column("id")

gg <- ggplot(pca, aes(x=PC01, y=PC02)) +
  geom_point(alpha = 0.7, size = 3)

print(gg)

gg <- ggplot(pca, aes(x=PC03, y=PC04)) +
  geom_point(alpha = 0.7, size = 3)

gg

I guess the values look fine. It’s a bit hard to say but there aren’t like crazy clusters or massive outliers.

We’ll continue with the dispersion corrected counts. I just want to check though whether there are mean differences left in the data.

ggplot(lcounts, aes(x = sra, y = disp_norm_count, colour = bioproject)) + geom_boxplot()  + facet_wrap(vars(bioproject), scales = "free_x")

I do see differences in mean and scale between bioprojects. They’re pretty similar in terms of the range, but it might be a problem later if we do anything other than correlation clustering. How are the ComBat counts?

ggplot(lcounts, aes(x = sra, y = norm_count, colour = bioproject)) + geom_boxplot()  + facet_wrap(vars(bioproject), scales = "free_x")

I seems like the main contribution here is that some of the crazy outliers in PRJNA670487 are squished. Otherwise the counts have pretty similar ranges.

I think maybe i’m coming back around to ComBat just for the sake of shrinking the outliers?

I’m just going to save them both and we can decide later :)

lcounts %>%
  tidyr::pivot_wider(id_cols = id, names_from = sra, values_from = disp_norm_count) %>%
  readr::write_tsv("output/feature_counts_deseq2_normed.tsv", na = "-")
lcounts %>%
  tidyr::pivot_wider(id_cols = id, names_from = sra, values_from = norm_count) %>%
  readr::write_tsv("output/feature_counts_combat_normed.tsv", na = "-")

BYEEE!